package lesson05;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 *
 */
public class TestJDBC2 {
    public static void main(String[] args) throws SQLException {
        // 1. 加载驱动 省略 ，引入jar包自动加载了
        // 2. 创建链接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mytest", "root", "root");

        int param = 1;

        // 3. 创建执行器：
        String sql = "SELECT t1.id, t1.title, t1.content, t1.cdate \n" +
                "FROM sns_blob t1 where t1.id > ? ";
        // 预处理执行器： ?会根据数据的类型自动转换
        PreparedStatement ps = conn.prepareStatement(sql);
        // 预处理器中的sql 第一个？用id填充
        ps.setInt(1, param);

        // 4. 执行SQl,处理结果
        ResultSet rs = ps.executeQuery();
        List<SNSBlob> list = new ArrayList<>();
        // 处理结果集
        while (rs.next()) { // 有下一条记录并且指向这一行
            int id = rs.getInt(1);
            String title = rs.getString(2);
            String content = rs.getString("content");
            Timestamp ts = rs.getTimestamp(4);
            System.out.println("-------------------------------------------");
            System.out.println(id + "@" + title + "@" + content + "@" + ts);
            SNSBlob blob = new SNSBlob();
            blob.setId(id);
            blob.setTitle(title);
            blob.setContent(content);
            blob.setDate(ts);
            list.add(blob);
        }

        // 5. 关闭资源
        conn.close();

        // 打印一下结果
        list.forEach(System.out::println);
    }
}
